package com.aster.service.manage.dto.do2dto;

import com.aster.service.manage.domain.TbEscortUserLabelInfo;
import com.aster.service.manage.domain.TbLabelInfo;
import com.aster.service.manage.dto.DtoEscortUserLabelInfo;
import com.aster.service.manage.dto.DtoLabelInfo;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

import java.util.List;

@org.mapstruct.Mapper
public interface EscortUserLabelInfoConvert {

    EscortUserLabelInfoConvert MAPPER = Mappers.getMapper(EscortUserLabelInfoConvert.class);

    public DtoEscortUserLabelInfo do2dto(TbEscortUserLabelInfo tbEscortUserLabelInfo);

    public List<DtoEscortUserLabelInfo> dos2dtos(List<TbEscortUserLabelInfo> list);

    public TbEscortUserLabelInfo dto2do(DtoEscortUserLabelInfo dtoEscortUserLabelInfo);

    @Mapping(target="enterpriseId",ignore=true)
    @Mapping(target="escortUserId",ignore=true)
    @Mapping(target="labelId",ignore=true)
    @Mapping(target="state",ignore=true)
    public TbEscortUserLabelInfo updateDeleted(DtoEscortUserLabelInfo dtoEscortUserLabelInfo);

    @Mapping(target="enterpriseId",ignore=true)
    @Mapping(target="escortUserId",ignore=true)
    @Mapping(target="labelId",ignore=true)
    @Mapping(target="deleted",ignore=true)
    public TbEscortUserLabelInfo updateState(DtoEscortUserLabelInfo dtoEscortUserLabelInfo);

    @Mapping(target="state",ignore=true)
    @Mapping(target="deleted",ignore=true)
    public TbEscortUserLabelInfo addData(DtoEscortUserLabelInfo dtoEscortUserLabelInfo);
}
